Video graphics circuits are known to generate pixel information for objects to be displayed on a computer screen, monitor, or television. The source for the object may be television broadcasts, cable television transmissions, satellite television transmissions, computer programs, video games, web pages, and so on. For computer screens, video graphics circuits partition each object to be displayed into triangles. Each triangle is stored as three vertexes and corresponding display parameters for each vertex. The corresponding display parameters include color parameters (Red, Green, Blue), display, or pixel, location parameters (x, y, z), and texture parameters (S, T, W).
From the corresponding display parameters, a video graphics circuit calculates slopes and associated display parameters for each point within the triangle based on the slopes and corresponding display parameters. The slopes and associated display parameters are stored in a triangle descriptor list, which is subsequently used to calculate pixel information.
When only one two dimensional object, or one triangle, is to be displayed, there are no unnecessary steps to the process described above. When more than one object is to be displayed and the objects overlap, there are unnecessary steps because pixel information is calculated for each triangle of each object. When all the pixel information for each object is calculated, a comparison is performed to determine which object is in the foreground. For the object that is in the background with respect to another object, the pixel information for the portion of the object that is overlapped is discarded. Thus, the calculation of such pixel information was unnecessary and adversely affects the efficiency of the video graphics circuit.
If only a small portion of an object is overlapped, the amount of unnecessary pixel information calculation is minimal and has little adverse affects on the efficiency of the video graphics circuit. If, however, the object has a substantial overlap portion, then the number of unnecessary calculations increases and the efficiency of the video graphics circuit is affected. The problem is compounded when there are several objects that overlap, where only one of them will be in the foreground and displayed in its entirety. For example, assume that several faces are to be displayed and they overlap. To begin the display process, the video graphics circuit calculates the slopes and associated display parameters for each triangle of a face, which includes up to 20,000 triangles, and stores the values in the triangle descriptor list. Next, the video graphics circuit calculates pixel information for a face based on the information in the triangle descriptor list and stores the pixel information. The process is repeated for each face to be displayed. Once all of the pixel information is generated, the video graphics circuit compares z-components of the faces to determine which one is in the foreground in the overlap areas.
As such, all the calculations to obtain the pixel information in the overlap portions of the objects not in the foreground is unnecessary, adversely affecting the efficiency of the video graphics circuit. Therefore, a need exists for a method and apparatus that avoids unnecessary pixel information calculation and thereby improving the efficiency of video graphics circuits.